package com.glsc.ngateway.common.base.domain.mysql.cmdb;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

@Data
@Entity
@Table(name = "t_cmdb_machine_room")
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class CmdbMachineRoom {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "id")
    private Integer id;

    @Column(name = "name", length = 100, nullable = true)
    private String name;

    @Column(name = "address", length = 100, nullable = true)
    private String address;

    @Column(name = "contact_name", length = 20, nullable = true)
    private String contactName;

    @Column(name = "contact_account", length = 20, nullable = true)
    private String contactAccount;

    @Column(name = "contact_phone", length = 20, nullable = true)
    private String contactPhone;

    @Column(name = "cabinet_amount", nullable = true)
    private Integer cabinetAmount;

    @Column(name = "self_machine_room_level", length = 100, nullable = true)
    private String selfMachineRoomLevel;

    @Column(name = "self_machine_room_type", nullable = true)
    private Integer selfMachineRoomType;

    @Column(name = "is_fire_record", nullable = true)
    private Integer isFireRecord;

    @Column(name = "is_fire_check", nullable = true)
    private Integer isFireCheck;

    @Column(name = "fire_type", length = 100, nullable = true)
    private String fireType;

    @Column(name = "electricity_type", length = 100, nullable = true)
    private String electricityType;

    @Column(name = "area", nullable = true)
    private Double area;

    @Column(name = "ups_total_power", nullable = true)
    private Double upsTotalPower;

    @Column(name = "ups_mini_run_time", nullable = true)
    private Double upsMiniRunTime;

    @Column(name = "ups_avg_load", nullable = true)
    private Double upsAvgLoad;

    @Column(name = "build_support_eletricity_vehicle", nullable = true)
    private Integer buildSupportEletricityVehicle;

    @Column(name = "total_power", nullable = true)
    private Double totalPower;

    @Column(name = "current_power_useage", nullable = true)
    private Double currentPowerUseage;

    @Column(name = "ele_generator_support_type", length = 100, nullable = true)
    private String eleGeneratorSupportType;

    @Column(name = "ele_generator_total_power", nullable = true)
    private Double eleGeneratorTotalPower;

    @Column(name = "ele_generator_oil_support_time", nullable = true)
    private Double eleGeneratorOilSupportTime;

    @Column(name = "ele_generator_start_time", nullable = true)
    private Double eleGeneratorStartTime;

    @Column(name = "air_condition_total_power", nullable = true)
    private Double airConditionTotalPower;

    @Column(name = "machine_room_code", length = 100, nullable = true)
    private String machineRoomCode;

    @Column(name = "is_delete", nullable = true, columnDefinition = "int DEFAULT '0' COMMENT '是否删除，0未删除，1 已删除'")
    private Integer isDelete;
    // Getters and setters
}

